Imports System.Data.SqlClient
Public Class cls_ensayo04_

    Implements ICloneable

#Region "Variables ..."
    Private int_idensayo04 As Integer = 0
    Private int_idensayotipo As Integer = 0
    Private int_idensayosubtipo As Integer = 0
    Private str_numero As String = ""
    Private dte_fecha As DateTime = New System.DateTime(Now.Year, 1, 1)
    Private int_idcliente As Integer = 0
    Private int_idcentrocostoorden As Integer = 0
    Private int_idequipo As Integer = 0
    Private int_idcomponenteensayar As Integer = 0
    Private str_identificacion As String = ""
    Private int_idmaterial As Integer = 0
    Private dbl_espesor As Double = 0
    Private int_idunidadespesor As Integer = 0
    Private str_procedimiento As String = ""
    Private int_idnorma As Integer = 0
    Private int_idcriterio As Integer = 0
    Private int_idcondicionsuperficial As Integer = 0
    Private int_idlimpieza As Integer = 0
    Private int_idpenetrante As Integer = 0
    Private int_idmodoaplicacion As Integer = 0
    Private int_idremoveedor As Integer = 0
    Private int_idlimpiezaremocionremovedor As Integer = 0
    Private int_idrevelador As Integer = 0
    Private int_idlimpiezaremocionrevelador As Integer = 0
    Private int_idpenetrantetipo As Integer = 0
    Private int_idpenetrantemetodo As Integer = 0
    Private int_idiluminaciontipo As Integer = 0
    Private img_croquis As Image = Nothing
    Private str_croquisnotas As String = ""
    Private str_notas As String = ""
    Private int_informeestado As Integer = 0
    Private int_idregistro As Integer = 0
    Private int_idevaluador As Integer = 0
    Private int_idinspector As Integer = 0
    Private dte_evaluadorfecha As DateTime = New System.DateTime(Now.Year, 1, 1)
    Private dte_inspectorfecha As DateTime = New System.DateTime(Now.Year, 1, 1)
    Private int_idusuariorealizado As Integer = 0
    Private int_idusuarioingresado As Integer = 0

    Private obj_ensayotipo As cls_ensayotipo_ = Nothing
    Private obj_ensayosubtipo As cls_ensayosubtipo_
    Private obj_cliente As cls_cliente_
    Private obj_centrocostoorden As cls_centrocostoorden_
    Private obj_equipo As cls_equipo_
    Private obj_componenteensayar As cls_componenteensayar_
    Private obj_norma As cls_criterionorma_
    Private obj_criterio As cls_criterionorma_
    Private obj_condicionsuperficial As cls_condicionsuperficial_
    Private obj_limpieza As cls_limpiezaremocion_
    Private obj_iluminaciontipo As cls_iluminaciontipo_

    Private obj_registro As cls_registro_ = Nothing

    Private col_Items As Collections.Generic.List(Of cls_ensayo04_) = Nothing
#End Region

#Region "Propiedades ..."
    Property idensayo04() As Integer
        Get
            idensayo04 = int_idensayo04
        End Get
        Set(ByVal value As Integer)
            int_idensayo04 = value
        End Set
    End Property
    Property idensayotipo() As Integer
        Get
            idensayotipo = int_idensayotipo
        End Get
        Set(ByVal value As Integer)
            int_idensayotipo = value
        End Set
    End Property
    Property idensayosubtipo() As Integer
        Get
            idensayosubtipo = int_idensayosubtipo
        End Get
        Set(ByVal value As Integer)
            int_idensayosubtipo = value
        End Set
    End Property
    Property numero() As String
        Get
            numero = str_numero
        End Get
        Set(ByVal value As String)
            str_numero = value
        End Set
    End Property
    Property fecha() As DateTime
        Get
            fecha = dte_fecha
        End Get
        Set(ByVal value As DateTime)
            dte_fecha = value
        End Set
    End Property
    Property idcliente() As Integer
        Get
            idcliente = int_idcliente
        End Get
        Set(ByVal value As Integer)
            int_idcliente = value
        End Set
    End Property
    Property idcentrocostoorden() As Integer
        Get
            idcentrocostoorden = int_idcentrocostoorden
        End Get
        Set(ByVal value As Integer)
            int_idcentrocostoorden = value
        End Set
    End Property
    Property idequipo() As Integer
        Get
            idequipo = int_idequipo
        End Get
        Set(ByVal value As Integer)
            int_idequipo = value
        End Set
    End Property
    Property idcomponenteensayar() As Integer
        Get
            idcomponenteensayar = int_idcomponenteensayar
        End Get
        Set(ByVal value As Integer)
            int_idcomponenteensayar = value
        End Set
    End Property
    Property identificacion() As String
        Get
            identificacion = str_identificacion
        End Get
        Set(ByVal value As String)
            str_identificacion = value
        End Set
    End Property
    Property idmaterial() As Integer
        Get
            idmaterial = int_idmaterial
        End Get
        Set(ByVal value As Integer)
            int_idmaterial = value
        End Set
    End Property
    Property espesor() As Double
        Get
            espesor = dbl_espesor
        End Get
        Set(ByVal value As Double)
            dbl_espesor = value
        End Set
    End Property
    Property idunidadespesor() As Integer
        Get
            idunidadespesor = int_idunidadespesor
        End Get
        Set(ByVal value As Integer)
            int_idunidadespesor = value
        End Set
    End Property
    Property procedimiento() As String
        Get
            procedimiento = str_procedimiento
        End Get
        Set(ByVal value As String)
            str_procedimiento = value
        End Set
    End Property
    Property idnorma() As Integer
        Get
            idnorma = int_idnorma
        End Get
        Set(ByVal value As Integer)
            int_idnorma = value
        End Set
    End Property
    Property idcriterio() As Integer
        Get
            idcriterio = int_idcriterio
        End Get
        Set(ByVal value As Integer)
            int_idcriterio = value
        End Set
    End Property
    Property idcondicionsuperficial() As Integer
        Get
            idcondicionsuperficial = int_idcondicionsuperficial
        End Get
        Set(ByVal value As Integer)
            int_idcondicionsuperficial = value
        End Set
    End Property
    Property idlimpieza() As Integer
        Get
            idlimpieza = int_idlimpieza
        End Get
        Set(ByVal value As Integer)
            int_idlimpieza = value
        End Set
    End Property
    Property idpenetrante() As Integer
        Get
            idpenetrante = int_idpenetrante
        End Get
        Set(ByVal value As Integer)
            int_idpenetrante = value
        End Set
    End Property
    Property idmodoaplicacion() As Integer
        Get
            idmodoaplicacion = int_idmodoaplicacion
        End Get
        Set(ByVal value As Integer)
            int_idmodoaplicacion = value
        End Set
    End Property
    Property idremoveedor() As Integer
        Get
            idremoveedor = int_idremoveedor
        End Get
        Set(ByVal value As Integer)
            int_idremoveedor = value
        End Set
    End Property
    Property idlimpiezaremocionremovedor() As Integer
        Get
            idlimpiezaremocionremovedor = int_idlimpiezaremocionremovedor
        End Get
        Set(ByVal value As Integer)
            int_idlimpiezaremocionremovedor = value
        End Set
    End Property
    Property idrevelador() As Integer
        Get
            idrevelador = int_idrevelador
        End Get
        Set(ByVal value As Integer)
            int_idrevelador = value
        End Set
    End Property
    Property idlimpiezaremocionrevelador() As Integer
        Get
            idlimpiezaremocionrevelador = int_idlimpiezaremocionrevelador
        End Get
        Set(ByVal value As Integer)
            int_idlimpiezaremocionrevelador = value
        End Set
    End Property
    Property idpenetrantetipo() As Integer
        Get
            idpenetrantetipo = int_idpenetrantetipo
        End Get
        Set(ByVal value As Integer)
            int_idpenetrantetipo = value
        End Set
    End Property
    Property idpenetrantemetodo() As Integer
        Get
            idpenetrantemetodo = int_idpenetrantemetodo
        End Get
        Set(ByVal value As Integer)
            int_idpenetrantemetodo = value
        End Set
    End Property
    Property idiluminaciontipo() As Integer
        Get
            idiluminaciontipo = int_idiluminaciontipo
        End Get
        Set(ByVal value As Integer)
            int_idiluminaciontipo = value
        End Set
    End Property
    Property croquis() As Image
        Get
            croquis = img_croquis
        End Get
        Set(ByVal value As Image)
            img_croquis = value
        End Set
    End Property
    Property croquisnotas() As String
        Get
            croquisnotas = str_croquisnotas
        End Get
        Set(ByVal value As String)
            str_croquisnotas = value
        End Set
    End Property
    Property notas() As String
        Get
            notas = str_notas
        End Get
        Set(ByVal value As String)
            str_notas = value
        End Set
    End Property
    Property informeestado() As Integer
        Get
            informeestado = int_informeestado
        End Get
        Set(ByVal value As Integer)
            int_informeestado = value
        End Set
    End Property
    Property idregistro() As Integer
        Get
            idregistro = int_idregistro
        End Get
        Set(ByVal value As Integer)
            int_idregistro = value
        End Set
    End Property
    Property idevaluador() As Integer
        Get
            idevaluador = int_idevaluador
        End Get
        Set(ByVal value As Integer)
            int_idevaluador = value
        End Set
    End Property
    Property idinspector() As Integer
        Get
            idinspector = int_idinspector
        End Get
        Set(ByVal value As Integer)
            int_idinspector = value
        End Set
    End Property
    Property evaluadorfecha() As DateTime
        Get
            evaluadorfecha = dte_evaluadorfecha
        End Get
        Set(ByVal value As DateTime)
            dte_evaluadorfecha = value
        End Set
    End Property
    Property inspectorfecha() As DateTime
        Get
            inspectorfecha = dte_inspectorfecha
        End Get
        Set(ByVal value As DateTime)
            dte_inspectorfecha = value
        End Set
    End Property
    Property idusuariorealizado() As Integer
        Get
            idusuariorealizado = int_idusuariorealizado
        End Get
        Set(ByVal value As Integer)
            int_idusuariorealizado = value
        End Set
    End Property
    Property idusuarioingresado() As Integer
        Get
            idusuarioingresado = int_idusuarioingresado
        End Get
        Set(ByVal value As Integer)
            int_idusuarioingresado = value
        End Set
    End Property

    Property ensayotipo() As cls_ensayotipo_
        Get
            If IsNothing(obj_ensayotipo) Then
                obj_ensayotipo = New cls_ensayotipo_
                If Not obj_ensayotipo.Buscar(idensayotipo) Then
                    obj_ensayotipo = Nothing
                End If
            End If
            ensayotipo = obj_ensayotipo
        End Get
        Set(ByVal value As cls_ensayotipo_)
            obj_ensayotipo = value
        End Set
    End Property

    Property ensayosubtipo() As cls_ensayosubtipo_
        Get
            If IsNothing(obj_ensayosubtipo) Then
                obj_ensayosubtipo = New cls_ensayosubtipo_
                If Not obj_ensayosubtipo.Buscar(idensayosubtipo) Then
                    obj_ensayosubtipo = Nothing
                End If
            End If
            ensayosubtipo = obj_ensayosubtipo
        End Get
        Set(ByVal value As cls_ensayosubtipo_)
            obj_ensayosubtipo = value
        End Set
    End Property

    Property cliente() As cls_cliente_
        Get
            If IsNothing(obj_cliente) Then
                obj_cliente = New cls_cliente_
                If Not obj_cliente.Buscar(idcliente) Then
                    obj_cliente = Nothing
                End If
            End If
            cliente = obj_cliente
        End Get
        Set(ByVal value As cls_cliente_)
            obj_cliente = value
        End Set
    End Property

    Property centrocostoorden() As cls_centrocostoorden_
        Get
            If IsNothing(obj_centrocostoorden) Then
                obj_centrocostoorden = New cls_centrocostoorden_
                If Not obj_centrocostoorden.Buscar(idcentrocostoorden) Then
                    obj_centrocostoorden = Nothing
                End If
            End If
            centrocostoorden = obj_centrocostoorden
        End Get
        Set(ByVal value As cls_centrocostoorden_)
            obj_centrocostoorden = value
        End Set
    End Property

    Property equipo() As cls_equipo_
        Get
            If IsNothing(obj_equipo) Then
                obj_equipo = New cls_equipo_
                If Not obj_equipo.Buscar(idequipo) Then
                    obj_equipo = Nothing
                End If
            End If
            equipo = obj_equipo
        End Get
        Set(ByVal value As cls_equipo_)
            obj_equipo = value
        End Set
    End Property

    Property componenteensayar() As cls_componenteensayar_
        Get
            If IsNothing(obj_componenteensayar) Then
                obj_componenteensayar = New cls_componenteensayar_
                If Not obj_componenteensayar.Buscar(idcomponenteensayar) Then
                    obj_componenteensayar = Nothing
                End If
            End If
            componenteensayar = obj_componenteensayar
        End Get
        Set(ByVal value As cls_componenteensayar_)
            obj_componenteensayar = value
        End Set
    End Property

    Property norma() As cls_criterionorma_
        Get
            If IsNothing(obj_norma) Then
                obj_norma = New cls_criterionorma_
                If Not obj_norma.Buscar(idnorma) Then
                    obj_norma = Nothing
                End If
            End If
            norma = obj_norma
        End Get
        Set(ByVal value As cls_criterionorma_)
            obj_norma = value
        End Set
    End Property

    Property criterio() As cls_criterionorma_
        Get
            If IsNothing(obj_criterio) Then
                obj_criterio = New cls_criterionorma_
                If Not obj_criterio.Buscar(idcriterio) Then
                    obj_criterio = Nothing
                End If
            End If
            criterio = obj_criterio
        End Get
        Set(ByVal value As cls_criterionorma_)
            obj_criterio = value
        End Set
    End Property

    Property condicionsuperficial() As cls_condicionsuperficial_
        Get
            If IsNothing(obj_condicionsuperficial) Then
                obj_condicionsuperficial = New cls_condicionsuperficial_
                If Not obj_condicionsuperficial.Buscar(idcondicionsuperficial) Then
                    obj_condicionsuperficial = Nothing
                End If
            End If
            condicionsuperficial = obj_condicionsuperficial
        End Get
        Set(ByVal value As cls_condicionsuperficial_)
            obj_condicionsuperficial = value
        End Set
    End Property

    Property limpieza() As cls_limpiezaremocion_
        Get
            If IsNothing(obj_limpieza) Then
                obj_limpieza = New cls_limpiezaremocion_
                If Not obj_limpieza.Buscar(idlimpieza) Then
                    obj_limpieza = Nothing
                End If
            End If
            limpieza = obj_limpieza
        End Get
        Set(ByVal value As cls_limpiezaremocion_)
            obj_limpieza = value
        End Set
    End Property

    Property iluminaciontipo() As cls_iluminaciontipo_
        Get
            If IsNothing(obj_iluminaciontipo) Then
                obj_iluminaciontipo = New cls_iluminaciontipo_
                If Not obj_iluminaciontipo.Buscar(idiluminaciontipo) Then
                    obj_iluminaciontipo = Nothing
                End If
            End If
            iluminaciontipo = obj_iluminaciontipo
        End Get
        Set(ByVal value As cls_iluminaciontipo_)
            obj_iluminaciontipo = value
        End Set
    End Property
    Property Items() As Collections.Generic.List(Of cls_ensayo04_)
        Get
            Items = col_Items
        End Get
        Set(ByVal value As Collections.Generic.List(Of cls_ensayo04_))
            col_Items = value
        End Set
    End Property
    Property registro() As cls_registro_
        Get
            If IsNothing(obj_registro) Then
                obj_registro = New cls_registro_
                If Not obj_registro.Buscar(idregistro) Then
                    obj_registro = Nothing
                End If
            End If
            registro = obj_registro
        End Get
        Set(ByVal value As cls_registro_)
            obj_registro = value
        End Set
    End Property
#End Region

    Private Sub CargarColeccion(ByVal obj_Reader As SqlDataReader)
        col_Items = New Collections.Generic.List(Of cls_ensayo04_)
        While obj_Reader.Read()
            Dim Elemento As New cls_ensayo04_
            Elemento.int_idensayo04 = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayo04")))

            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayotipo"))) = False Then
                Elemento.int_idensayotipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayotipo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayosubtipo"))) = False Then
                Elemento.int_idensayosubtipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayosubtipo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("numero"))) = False Then
                Elemento.str_numero = (obj_Reader.GetValue(obj_Reader.GetOrdinal("numero")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("fecha"))) = False Then
                Elemento.dte_fecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("fecha")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcliente"))) = False Then
                Elemento.int_idcliente = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcliente")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcentrocostoorden"))) = False Then
                Elemento.int_idcentrocostoorden = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcentrocostoorden")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idequipo"))) = False Then
                Elemento.int_idequipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idequipo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcomponenteensayar"))) = False Then
                Elemento.int_idcomponenteensayar = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcomponenteensayar")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("identificacion"))) = False Then
                Elemento.str_identificacion = (obj_Reader.GetValue(obj_Reader.GetOrdinal("identificacion")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idmaterial"))) = False Then
                Elemento.int_idmaterial = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idmaterial")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("espesor"))) = False Then
                Elemento.dbl_espesor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("espesor")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idunidadespesor"))) = False Then
                Elemento.int_idunidadespesor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idunidadespesor")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("procedimiento"))) = False Then
                Elemento.str_procedimiento = (obj_Reader.GetValue(obj_Reader.GetOrdinal("procedimiento")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idnorma"))) = False Then
                Elemento.int_idnorma = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idnorma")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcriterio"))) = False Then
                Elemento.int_idcriterio = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcriterio")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcondicionsuperficial"))) = False Then
                Elemento.int_idcondicionsuperficial = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcondicionsuperficial")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpieza"))) = False Then
                Elemento.int_idlimpieza = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpieza")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrante"))) = False Then
                Elemento.int_idpenetrante = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrante")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idmodoaplicacion"))) = False Then
                Elemento.int_idmodoaplicacion = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idmodoaplicacion")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idremoveedor"))) = False Then
                Elemento.int_idremoveedor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idremoveedor")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionremovedor"))) = False Then
                Elemento.int_idlimpiezaremocionremovedor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionremovedor")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idrevelador"))) = False Then
                Elemento.int_idrevelador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idrevelador")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionrevelador"))) = False Then
                Elemento.int_idlimpiezaremocionrevelador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionrevelador")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantetipo"))) = False Then
                Elemento.int_idpenetrantetipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantetipo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantemetodo"))) = False Then
                Elemento.int_idpenetrantemetodo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantemetodo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idiluminaciontipo"))) = False Then
                Elemento.int_idiluminaciontipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idiluminaciontipo")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("croquis"))) = False Then
                Elemento.img_croquis = byteArrayToImage((obj_Reader.GetValue(obj_Reader.GetOrdinal("croquis"))))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("croquisnotas"))) = False Then
                Elemento.str_croquisnotas = (obj_Reader.GetValue(obj_Reader.GetOrdinal("croquisnotas")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("notas"))) = False Then
                Elemento.str_notas = (obj_Reader.GetValue(obj_Reader.GetOrdinal("notas")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("informeestado"))) = False Then
                Elemento.int_informeestado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("informeestado")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idregistro"))) = False Then
                Elemento.int_idregistro = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idregistro")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idevaluador"))) = False Then
                Elemento.int_idevaluador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idevaluador")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idinspector"))) = False Then
                Elemento.int_idinspector = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idinspector")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("evaluadorfecha"))) = False Then
                Elemento.dte_evaluadorfecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("evaluadorfecha")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("inspectorfecha"))) = False Then
                Elemento.dte_inspectorfecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("inspectorfecha")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuariorealizado"))) = False Then
                Elemento.int_idusuariorealizado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuariorealizado")))
            End If
            If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuarioingresado"))) = False Then
                Elemento.int_idusuarioingresado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuarioingresado")))
            End If
            col_Items.Add(Elemento)
        End While
    End Sub

    Private Sub CargarVariables(ByVal obj_Reader As SqlDataReader)
        obj_Reader.Read()
        int_idensayo04 = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayo04")))

        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayotipo"))) = False Then
            int_idensayotipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayotipo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayosubtipo"))) = False Then
            int_idensayosubtipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idensayosubtipo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("numero"))) = False Then
            str_numero = (obj_Reader.GetValue(obj_Reader.GetOrdinal("numero")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("fecha"))) = False Then
            dte_fecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("fecha")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcliente"))) = False Then
            int_idcliente = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcliente")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcentrocostoorden"))) = False Then
            int_idcentrocostoorden = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcentrocostoorden")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idequipo"))) = False Then
            int_idequipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idequipo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcomponenteensayar"))) = False Then
            int_idcomponenteensayar = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcomponenteensayar")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("identificacion"))) = False Then
            str_identificacion = (obj_Reader.GetValue(obj_Reader.GetOrdinal("identificacion")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idmaterial"))) = False Then
            int_idmaterial = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idmaterial")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("espesor"))) = False Then
            dbl_espesor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("espesor")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idunidadespesor"))) = False Then
            int_idunidadespesor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idunidadespesor")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("procedimiento"))) = False Then
            str_procedimiento = (obj_Reader.GetValue(obj_Reader.GetOrdinal("procedimiento")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idnorma"))) = False Then
            int_idnorma = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idnorma")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcriterio"))) = False Then
            int_idcriterio = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcriterio")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idcondicionsuperficial"))) = False Then
            int_idcondicionsuperficial = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idcondicionsuperficial")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpieza"))) = False Then
            int_idlimpieza = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpieza")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrante"))) = False Then
            int_idpenetrante = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrante")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idmodoaplicacion"))) = False Then
            int_idmodoaplicacion = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idmodoaplicacion")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idremoveedor"))) = False Then
            int_idremoveedor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idremoveedor")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionremovedor"))) = False Then
            int_idlimpiezaremocionremovedor = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionremovedor")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idrevelador"))) = False Then
            int_idrevelador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idrevelador")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionrevelador"))) = False Then
            int_idlimpiezaremocionrevelador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idlimpiezaremocionrevelador")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantetipo"))) = False Then
            int_idpenetrantetipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantetipo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantemetodo"))) = False Then
            int_idpenetrantemetodo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idpenetrantemetodo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idiluminaciontipo"))) = False Then
            int_idiluminaciontipo = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idiluminaciontipo")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("croquis"))) = False Then
            img_croquis = byteArrayToImage((obj_Reader.GetValue(obj_Reader.GetOrdinal("croquis"))))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("croquisnotas"))) = False Then
            str_croquisnotas = (obj_Reader.GetValue(obj_Reader.GetOrdinal("croquisnotas")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("notas"))) = False Then
            str_notas = (obj_Reader.GetValue(obj_Reader.GetOrdinal("notas")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("informeestado"))) = False Then
            int_informeestado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("informeestado")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idregistro"))) = False Then
            int_idregistro = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idregistro")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idevaluador"))) = False Then
            int_idevaluador = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idevaluador")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idinspector"))) = False Then
            int_idinspector = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idinspector")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("evaluadorfecha"))) = False Then
            dte_evaluadorfecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("evaluadorfecha")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("inspectorfecha"))) = False Then
            dte_inspectorfecha = (obj_Reader.GetValue(obj_Reader.GetOrdinal("inspectorfecha")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuariorealizado"))) = False Then
            int_idusuariorealizado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuariorealizado")))
        End If
        If IsDBNull(obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuarioingresado"))) = False Then
            int_idusuarioingresado = (obj_Reader.GetValue(obj_Reader.GetOrdinal("idusuarioingresado")))
        End If
    End Sub

    Public Sub Nuevo(Optional ByVal ObtenerID As Boolean = False)
        Dim obj_Conexion As New cls_Conexion
        Try
            'Creacion de registro----------------------------------------------------
            If IsNothing(obj_registro) Then
                registro = New cls_registro_
                registro.fechacreado = Now
                registro.idusuariocreado = UsuarioLOG.idusuario
                registro.fechamodificado = Now
                registro.idusuariomodificado = UsuarioLOG.idusuario
                registro.idregistroestado = 1
                registro.idusuarioregistroestado = UsuarioLOG.idusuario
                registro.Nuevo(True)
                idregistro = obj_registro.idregistro
            End If
            '------------------------------------------------------------------------
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__Nuevo"
                .Parameters.Add("@idensayotipo", SqlDbType.int).Value = int_idensayotipo
                .Parameters.Add("@idensayosubtipo", SqlDbType.int).Value = int_idensayosubtipo
                .Parameters.Add("@numero", SqlDbType.nvarchar).Value = str_numero
                .Parameters.Add("@fecha", SqlDbType.datetime).Value = dte_fecha
                .Parameters.Add("@idcliente", SqlDbType.int).Value = int_idcliente
                .Parameters.Add("@idcentrocostoorden", SqlDbType.int).Value = int_idcentrocostoorden
                .Parameters.Add("@idequipo", SqlDbType.int).Value = int_idequipo
                .Parameters.Add("@idcomponenteensayar", SqlDbType.int).Value = int_idcomponenteensayar
                .Parameters.Add("@identificacion", SqlDbType.nvarchar).Value = str_identificacion
                .Parameters.Add("@idmaterial", SqlDbType.int).Value = int_idmaterial
                .Parameters.Add("@espesor", SqlDbType.decimal).Value = dbl_espesor
                .Parameters.Add("@idunidadespesor", SqlDbType.int).Value = int_idunidadespesor
                .Parameters.Add("@procedimiento", SqlDbType.nvarchar).Value = str_procedimiento
                .Parameters.Add("@idnorma", SqlDbType.int).Value = int_idnorma
                .Parameters.Add("@idcriterio", SqlDbType.int).Value = int_idcriterio
                .Parameters.Add("@idcondicionsuperficial", SqlDbType.int).Value = int_idcondicionsuperficial
                .Parameters.Add("@idlimpieza", SqlDbType.int).Value = int_idlimpieza
                .Parameters.Add("@idpenetrante", SqlDbType.int).Value = int_idpenetrante
                .Parameters.Add("@idmodoaplicacion", SqlDbType.int).Value = int_idmodoaplicacion
                .Parameters.Add("@idremoveedor", SqlDbType.int).Value = int_idremoveedor
                .Parameters.Add("@idlimpiezaremocionremovedor", SqlDbType.int).Value = int_idlimpiezaremocionremovedor
                .Parameters.Add("@idrevelador", SqlDbType.int).Value = int_idrevelador
                .Parameters.Add("@idlimpiezaremocionrevelador", SqlDbType.int).Value = int_idlimpiezaremocionrevelador
                .Parameters.Add("@idpenetrantetipo", SqlDbType.int).Value = int_idpenetrantetipo
                .Parameters.Add("@idpenetrantemetodo", SqlDbType.int).Value = int_idpenetrantemetodo
                .Parameters.Add("@idiluminaciontipo", SqlDbType.int).Value = int_idiluminaciontipo
                .Parameters.Add("@croquis", SqlDbType.Image).Value = IIf(IsNothing(imageToByteArray(img_croquis)), DBNull.Value, imageToByteArray(img_croquis))
                .Parameters.Add("@croquisnotas", SqlDbType.nvarchar).Value = str_croquisnotas
                .Parameters.Add("@notas", SqlDbType.nvarchar).Value = str_notas
                .Parameters.Add("@informeestado", SqlDbType.int).Value = int_informeestado
                .Parameters.Add("@idregistro", SqlDbType.int).Value = int_idregistro
                .Parameters.Add("@idevaluador", SqlDbType.int).Value = int_idevaluador
                .Parameters.Add("@idinspector", SqlDbType.int).Value = int_idinspector
                .Parameters.Add("@evaluadorfecha", SqlDbType.datetime).Value = dte_evaluadorfecha
                .Parameters.Add("@inspectorfecha", SqlDbType.datetime).Value = dte_inspectorfecha
                .Parameters.Add("@idusuariorealizado", SqlDbType.int).Value = int_idusuariorealizado
                .Parameters.Add("@idusuarioingresado", SqlDbType.int).Value = int_idusuarioingresado
                .ExecuteNonQuery()
            End With
            If ObtenerID Then
                CargarUltimo()
            End If
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al Crear el registro de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
        End Try
    End Sub

    Public Sub Modificar()
        Dim obj_Conexion As New cls_Conexion
        Try
            'Modificacion de registro------------------------------------------------
            registro.fechamodificado = Now : registro.idusuariomodificado = UsuarioLOG.idusuario
            registro.Modificar()
            '------------------------------------------------------------------------
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__Modificar"
                .Parameters.Add("@idensayo04", SqlDbType.int).Value = int_idensayo04
                .Parameters.Add("@idensayotipo", SqlDbType.int).Value = int_idensayotipo
                .Parameters.Add("@idensayosubtipo", SqlDbType.int).Value = int_idensayosubtipo
                .Parameters.Add("@numero", SqlDbType.nvarchar).Value = str_numero
                .Parameters.Add("@fecha", SqlDbType.datetime).Value = dte_fecha
                .Parameters.Add("@idcliente", SqlDbType.int).Value = int_idcliente
                .Parameters.Add("@idcentrocostoorden", SqlDbType.int).Value = int_idcentrocostoorden
                .Parameters.Add("@idequipo", SqlDbType.int).Value = int_idequipo
                .Parameters.Add("@idcomponenteensayar", SqlDbType.int).Value = int_idcomponenteensayar
                .Parameters.Add("@identificacion", SqlDbType.nvarchar).Value = str_identificacion
                .Parameters.Add("@idmaterial", SqlDbType.int).Value = int_idmaterial
                .Parameters.Add("@espesor", SqlDbType.decimal).Value = dbl_espesor
                .Parameters.Add("@idunidadespesor", SqlDbType.int).Value = int_idunidadespesor
                .Parameters.Add("@procedimiento", SqlDbType.nvarchar).Value = str_procedimiento
                .Parameters.Add("@idnorma", SqlDbType.int).Value = int_idnorma
                .Parameters.Add("@idcriterio", SqlDbType.int).Value = int_idcriterio
                .Parameters.Add("@idcondicionsuperficial", SqlDbType.int).Value = int_idcondicionsuperficial
                .Parameters.Add("@idlimpieza", SqlDbType.int).Value = int_idlimpieza
                .Parameters.Add("@idpenetrante", SqlDbType.int).Value = int_idpenetrante
                .Parameters.Add("@idmodoaplicacion", SqlDbType.int).Value = int_idmodoaplicacion
                .Parameters.Add("@idremoveedor", SqlDbType.int).Value = int_idremoveedor
                .Parameters.Add("@idlimpiezaremocionremovedor", SqlDbType.int).Value = int_idlimpiezaremocionremovedor
                .Parameters.Add("@idrevelador", SqlDbType.int).Value = int_idrevelador
                .Parameters.Add("@idlimpiezaremocionrevelador", SqlDbType.int).Value = int_idlimpiezaremocionrevelador
                .Parameters.Add("@idpenetrantetipo", SqlDbType.int).Value = int_idpenetrantetipo
                .Parameters.Add("@idpenetrantemetodo", SqlDbType.int).Value = int_idpenetrantemetodo
                .Parameters.Add("@idiluminaciontipo", SqlDbType.int).Value = int_idiluminaciontipo
                .Parameters.Add("@croquis", SqlDbType.Image).Value = IIf(IsNothing(imageToByteArray(img_croquis)), DBNull.Value, imageToByteArray(img_croquis))
                .Parameters.Add("@croquisnotas", SqlDbType.nvarchar).Value = str_croquisnotas
                .Parameters.Add("@notas", SqlDbType.nvarchar).Value = str_notas
                .Parameters.Add("@informeestado", SqlDbType.int).Value = int_informeestado
                .Parameters.Add("@idregistro", SqlDbType.int).Value = int_idregistro
                .Parameters.Add("@idevaluador", SqlDbType.int).Value = int_idevaluador
                .Parameters.Add("@idinspector", SqlDbType.int).Value = int_idinspector
                .Parameters.Add("@evaluadorfecha", SqlDbType.datetime).Value = dte_evaluadorfecha
                .Parameters.Add("@inspectorfecha", SqlDbType.datetime).Value = dte_inspectorfecha
                .Parameters.Add("@idusuariorealizado", SqlDbType.int).Value = int_idusuariorealizado
                .Parameters.Add("@idusuarioingresado", SqlDbType.int).Value = int_idusuarioingresado
                .ExecuteNonQuery()
            End With
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al Modificar el registro de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
        End Try
    End Sub

    Public Sub Eliminar(ByVal idensayo04 As Integer)
        Dim obj_Conexion As New cls_Conexion
        Try
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__Eliminar"
                .Parameters.Add("@idensayo04", SqlDbType.int).Value = idensayo04
                .ExecuteNonQuery()
            End With
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al Eliminar el registro de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
        End Try
    End Sub

    Public Function Buscar(ByVal idensayo04 As Integer) As Boolean
        Dim obj_Conexion As New cls_Conexion
        Dim obj_Reader As SqlDataReader
        Try
            Buscar = False
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__Buscar"
                .Parameters.Add("@idensayo04", SqlDbType.int).Value = idensayo04
            End With
            obj_Reader = obj_Conexion.obj_SqlCommand.ExecuteReader
            If obj_Reader.HasRows Then
                CargarVariables(obj_Reader)
                Buscar = True
            End If
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al Buscar el registro de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
            obj_Reader = Nothing
        End Try
    End Function

    Public Sub CargarUltimo()
        Dim obj_Conexion As New cls_Conexion
        Dim obj_Reader As SqlDataReader
        Try
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__CargarUltimo"
            End With
            obj_Reader = obj_Conexion.obj_SqlCommand.ExecuteReader
            If obj_Reader.HasRows Then
                CargarVariables(obj_Reader)
            End If
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al CargarUltimo registro de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
            obj_Reader = Nothing
        End Try
    End Sub

    Public Function CargarTodos() As Boolean
        Dim obj_Conexion As New cls_Conexion
        Dim obj_Reader As SqlDataReader
        Try
            CargarTodos = False
            obj_Conexion.Conectar()
            With obj_Conexion.obj_SqlCommand
                .CommandType = CommandType.StoredProcedure
                .Connection = obj_Conexion.obj_SqlConnection
                .CommandText = "ensayo04__CargarTodos"
            End With
            obj_Reader = obj_Conexion.obj_SqlCommand.ExecuteReader
            If obj_Reader.HasRows Then
                CargarColeccion(obj_Reader)
                CargarTodos = True
            End If
        Catch ex As SqlClient.SqlException
            MessageBox.Show("Error al CargarTodos los registros de ensayo04_." & Chr(13) & _
            "Por favor informe del siguiente detalle técnico:" & Chr(13) & _
            "Nro de error: " & ex.ErrorCode & "." & Chr(13) & _
            "Descripción: " & ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            obj_Conexion.Desconectar()
            obj_Conexion = Nothing
            obj_Reader = Nothing
        End Try
    End Function

    Public Function Clone() As Object Implements System.ICloneable.Clone
        Dim obj_ensayo04_Clon As New cls_ensayo04_
        obj_ensayo04_Clon.int_idensayo04 = Me.int_idensayo04
        obj_ensayo04_Clon.int_idensayotipo = Me.int_idensayotipo
        obj_ensayo04_Clon.int_idensayosubtipo = Me.int_idensayosubtipo
        obj_ensayo04_Clon.str_numero = Me.str_numero
        obj_ensayo04_Clon.dte_fecha = Me.dte_fecha
        obj_ensayo04_Clon.int_idcliente = Me.int_idcliente
        obj_ensayo04_Clon.int_idcentrocostoorden = Me.int_idcentrocostoorden
        obj_ensayo04_Clon.int_idequipo = Me.int_idequipo
        obj_ensayo04_Clon.int_idcomponenteensayar = Me.int_idcomponenteensayar
        obj_ensayo04_Clon.str_identificacion = Me.str_identificacion
        obj_ensayo04_Clon.int_idmaterial = Me.int_idmaterial
        obj_ensayo04_Clon.dbl_espesor = Me.dbl_espesor
        obj_ensayo04_Clon.int_idunidadespesor = Me.int_idunidadespesor
        obj_ensayo04_Clon.str_procedimiento = Me.str_procedimiento
        obj_ensayo04_Clon.int_idnorma = Me.int_idnorma
        obj_ensayo04_Clon.int_idcriterio = Me.int_idcriterio
        obj_ensayo04_Clon.int_idcondicionsuperficial = Me.int_idcondicionsuperficial
        obj_ensayo04_Clon.int_idlimpieza = Me.int_idlimpieza
        obj_ensayo04_Clon.int_idpenetrante = Me.int_idpenetrante
        obj_ensayo04_Clon.int_idmodoaplicacion = Me.int_idmodoaplicacion
        obj_ensayo04_Clon.int_idremoveedor = Me.int_idremoveedor
        obj_ensayo04_Clon.int_idlimpiezaremocionremovedor = Me.int_idlimpiezaremocionremovedor
        obj_ensayo04_Clon.int_idrevelador = Me.int_idrevelador
        obj_ensayo04_Clon.int_idlimpiezaremocionrevelador = Me.int_idlimpiezaremocionrevelador
        obj_ensayo04_Clon.int_idpenetrantetipo = Me.int_idpenetrantetipo
        obj_ensayo04_Clon.int_idpenetrantemetodo = Me.int_idpenetrantemetodo
        obj_ensayo04_Clon.int_idiluminaciontipo = Me.int_idiluminaciontipo
        obj_ensayo04_Clon.img_croquis = Me.img_croquis
        obj_ensayo04_Clon.str_croquisnotas = Me.str_croquisnotas
        obj_ensayo04_Clon.str_notas = Me.str_notas
        obj_ensayo04_Clon.int_informeestado = Me.int_informeestado
        obj_ensayo04_Clon.int_idregistro = Me.int_idregistro
        obj_ensayo04_Clon.int_idevaluador = Me.int_idevaluador
        obj_ensayo04_Clon.int_idinspector = Me.int_idinspector
        obj_ensayo04_Clon.dte_evaluadorfecha = Me.dte_evaluadorfecha
        obj_ensayo04_Clon.dte_inspectorfecha = Me.dte_inspectorfecha
        obj_ensayo04_Clon.int_idusuariorealizado = Me.int_idusuariorealizado
        obj_ensayo04_Clon.int_idusuarioingresado = Me.int_idusuarioingresado
        obj_ensayo04_Clon.col_Items = Me.col_Items
        Return obj_ensayo04_Clon
    End Function
    Public Function imageToByteArray(ByVal imageIn As System.Drawing.Image) As Byte()
        If Not IsNothing(imageIn) Then
            Dim ms As New IO.MemoryStream()
            imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
            Return ms.ToArray()
        End If
        Return Nothing
    End Function

    Public Function byteArrayToImage(ByVal byteArrayIn As Byte()) As Image
        Dim ms As New IO.MemoryStream(byteArrayIn)
        Dim returnImage As Image = Image.FromStream(ms)
        Return returnImage
    End Function
End Class
